Шаг 304 - Как получается амортизация.

Следующими строками извлекается амортизация.

......
Если (СубСчет = "01.1") или (Лев(СубСчет, 2) = "03") Тогда
               Если ТекущийЭлемент().Группа = Перечисление.ГруппыОС.ЗемельныеУчастки Тогда
                    НачисленнаяАмортизация = "";
               //ИначеЕсли ТекущийЭлемент().Группа = Перечисление.ГруппыОС.ЖилищныйФонд Тогда
               //     НачисленнаяАмортизация = Ит.СКД("010", "С",, ТекущийЭлемент());
               ИначеЕсли ТекущийЭлемент().Группа = Перечисление.ГруппыОС.ОбъектыПриродопользования Тогда
                    НачисленнаяАмортизация = "";
               Иначе
                    НачисленнаяАмортизация = Ит.СКК("02.1", "С",, ТекущийЭлемент());
               КонецЕсли;
          Иначе
               НачисленнаяАмортизация = "";
          КонецЕсли;
          
          Если ТекущийЭлемент().СпособНачисленияАмортизации = Перечисление.СпособыНачисленияАмортизацииОС.Линейный Тогда
              НормаАмортизации = ТекущийЭлемент().КоэффициентАмортизации.Получить(КонМесяца());
          Иначе
              НормаАмортизации = "";
          КонецЕсли;
.......

Итак, если счет 01.1 счет относиться к группе 03 то получается амортизация по счету 02.1 иначе ее просто нет. Для линейного способа можно получить коофициэнт амортизации. Тут используется функция Лев. Вот она.

Лев
Выбрать в строке символы слева.

Синтаксис:

Лев(<Строка>,<Число>)
Англоязычныйсиноним:
Left

Параметры:
<Строка> Строковое выражение.
<Число> Числовое выражение.

Возвращаемоезначение:
Строковое значение.

Описание:
Функция Лев получает в качестве параметра строку, выбираетпервые слева символы строки, числом равные<Число>,и возвращает в качестве значения результирующую строку.

Hosted by uCoz